android 丢包率测试工具,android的ping的实现丢包率的获取 | 您所在的位置:网站首页 › 安卓 ping软件 › android 丢包率测试工具,android的ping的实现丢包率的获取 |
最近做的ANdroid项目是有关于利用ping的方法去获取丢包率。 方案一(失败): 1、ping.c文件在JNI的实现。ping.c文件与其相关文件从Busybox源码(busybox-1.19.2)里拿,或是Android源码的\external\ping\目录下拿。 在jni下编译自己的.so文件。但是实验不成功。 追踪方法:用log在.c打印信息 需要声明 #include #define LOG_TAG "zyp" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) 且要在Android.mk文件添加LOCAL_LDLIBS :=-llog(需要放在include $(CLEAR_VARS)后面的任意位置) 就可以使用: LOGI("ping= %f",a);打印自己要的信息 追踪发现在创建ICMP协议的socket会失败出错。查找资源原因是必须程序是Root权限才可以。 采用办法是且要在 Java:Process process = Runtime.getRuntime().exec(“su”); 也是失败。原因是因为Runtime.getRuntime().exec(“su”);只是开启一个“Root”的进程,程序还是没有获得Root权限去创建Socket。 方案二(需要Root): 把jni的ping.c与相关文件编译成可执行的二进制文件,Android.mk文件采用Busybox源码(busybox-1.19.2)里拿,或是Android源码的\external\ping\目录下的Andr |
CopyRight 2018-2019 实验室设备网 版权所有 |